#codeing=utf-8
# @Time    : 2017-10-19
# @Author  : J.sky
# @Mail    : bosichong@qq.com
# @Site    : www.17python.com
# @Title   : “编学编玩”用Pygame写游戏（1）初识pygame
# @Url     : http://www.17python.com/blog/44
# @Details : “编学编玩”用Pygame写游戏（1）初识pygame
# @Other   : OS X 10.11.6 
#            Python 3.6.1
#            VSCode 1.15.1
###################################
# “编学编玩”用Pygame写游戏（1）初识pygame
###################################
'''
## 啰嗦几句

这阵子一直在看有关Python相关的书，Python上手确实很简单，但这并不意味着Python是一门浅显的编程语言，语法简练确实让我们节省了大量的时间。
不过当你深入的学习Python的时候，比如：装饰器，推导，多线程及多进程，协程，高阶函数，元编程等等等等很多，你会发现，Python的深入学习并不是很简单。
会写代Python和会优雅的编写Python代码是两回事，出来混的，坑迟早还是要挖的，这不前几天协程的深入学习，搞的我很不爽，到现在还是一头雾水。

为了让自己换换心情，前几天想到用python写写小游戏玩玩吧，想到自己以前用java还编写了一个小小的2D游戏引擎半路就放弃了（java就是不爽），
这次来试试用Python写些小游戏试试。其实写游戏练习编程确实是一个比较好的方法，几百行的工程量也不算大，游戏设计的逻辑比较紧密，比较适合新手养成编程思维，
不过如果是刚刚学习编程，可能还是会觉得游戏中大段的代码，摸不清逻辑，所以通过阅读代码了解游戏的设计意图也算是对编程能力很好的锻炼。

好了，啰嗦了半天，我们开始pygame的学习之旅吧。

## pygame 安装

    pip3 install pygame

就是这么简单，然后我们可以在python3的终端环境下测试一下

    import pygame

如果没有报错，那么恭喜你安装成功了。

## pygame的 Hello World

导入pygame模块及常用变量，如果还需要其它模块，可以一并导入，比如sys,os,time random等。
'''
import pygame
from pygame.locals import *

#这里是一个游戏初始化的设置，他应该在游戏代码编写的最前边，不要忘记哦。
pygame.init()

# SCREEN 定义了一个游戏的屏幕，我觉得管它叫做画布更形象些，因为后续游戏场景中的游戏对象，都要在这个screen上绘制。
SCREEN = pygame.display.set_mode((640, 480))
#设置当前游戏窗口的标题
pygame.display.set_caption("Hello World!")

# 这里有个死循环，这是游戏的主要逻辑处理及场景渲染器，for循环是处理游戏中的事件触发，其中QUIT表示触发了游戏离开件事，然后调用pygame.quit()函数。
# pygame.display.updae()这个函数表示更新当前screen的画面。
while True:
    for event in pygame.event.get():
        if event.type == QUIT:
            pygame.quit()
    pygame.display.update()